package com.rzjm.exercise.module.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rzjm.exercise.common.utils.ExcelColumn;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 *   申请作业证
 * @author mr.zhou
 * @email zhouwei_nice@163.com
 * @date 2023-06-06 11:27:23
 */
@Data
@TableName("fire_work")
public class FireWork implements Serializable {
	private static final long serialVersionUID = 1L;

	//主键
	@TableId(type = IdType.AUTO)
	private Integer id;
	private Integer groupId;
	private Integer pianquId;
	private Integer userId;
	private Integer recordType;
	@ExcelColumn(value = "动火作业编号",col = 1)
	private String recordNo;
	private Integer regCompanyId;
	@ExcelColumn(value = "申请动火企业",col = 2)
	private String regCompanyName;
	private Integer workCompanyId;
//	@ExcelColumn(value = "动火作业企业",col = 3)
	private String workCompanyName;
	@ExcelColumn(value = "申请人",col = 6)
	private String regUserName;
	private Integer opLevel;



	private String spaceName;
	private String spaceMedium;



	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date fireBeginTime;
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date fireEndTime;


	private Integer fireType;
	private Integer headerSysUserId;
//	@ExcelColumn(value = "批准人",col = 5)
	private String recordHeaderUser;
	private Integer headerOpState;
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date headerOpTime;

	@ExcelColumn(value = "动作地点",col = 3)
	private String fireAddress;
	/**
	 *   状态  0 - 未审核通过  1 - 已审核通过
	 */
	private Integer state;
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date createTime;
	private String workType;
	private String regCompanyOpinion;
	private String otherCompanyOpinion;
	private String produceDeptOpinion;
	private String safeManagerDeptOpinion;
	private String company_managerOpinion;
	private String remark;
	private String workContent;
	private String workHeight;
	private String otherSpecialWork;
	private String riskIdentifiResult;
	private String headerSignImg;
	private String safeSignImg;
	private String checkSignImg;
	private String regSignImg;
	private String lastCheckResult;
	private Date lastCheckTime;
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date finishTime;
	private Integer safeWxUseId;
	private Integer lastCheckSysUserId;
	private Integer safeSysUserId;
	@ExcelColumn(value = "安全员",col = 8)
	private String safeUserName;
	private Integer safeOpState;
	private Integer lastCheckState;
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date safeOpTime;

	@TableField(exist = false)
	private List<FireWorkAnalysis> analyses;


	@TableField(exist = false)
	private List<FireWorkMeasures> measures;


	@TableField(exist = false)
	@ExcelColumn(value = "申请时间",col = 4)
	private String fireBeginTimeStr;

	@TableField(exist = false)
	@ExcelColumn(value = "作业级别",col = 12)
	private String opLevelStr;

	@TableField(exist = false)
	@ExcelColumn(value = "动火方式",col = 11)
	private String fireTypeStr;


//	@TableField(exist = false)
//	@ExcelColumn(value = "部落经理",col = 10)
//	private String pianquManager;

	@TableField(exist = false)
	@ExcelColumn(value = "使用时长",col = 5)
	private String useTimeStr;



	@TableField(exist = false)
	@ExcelColumn(value = "焊工",col = 7)
	private String workerNames;

	@TableField(exist = false)
	private Integer isSafeUser;

	@TableField(exist = false)
	private Integer isHeaderUser;

	private Integer lastSubmitSysUserId;
	private Integer lastSubmitState;
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date lastSubmitTime;
	private String lastSubmitResult;

	@ExcelColumn(value = "部落经理",col = 10)
	private String lastSubmitUserName;


	@TableField(exist = false)
	@ExcelColumn(value = "生产经理",col = 9)
	private String lastCheckUserName;


	private String submitSignImg;
	private Integer checkAcceptSysUserId;
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date checkAcceptTime;
	private String checkAcceptSignImg;

	@TableField(exist = false)
	private String groupName;
	@TableField(exist = false)
	private String pianquName;
	@TableField(exist = false)
	private String workEffectiveTime;
	@TableField(exist = false)
	private String applyName;
	@TableField(exist = false)
	private String workMan;
	@TableField(exist = false)
	private String workManType;
	@TableField(exist = false)
	private String certificateNo;
	@TableField(exist = false)
	private List<String> examineImgList;
	@TableField(exist = false)
	private List<String> acceptImgList;
	@TableField(exist = false)
	private String examiner;
	@TableField(exist = false)
	private String examinerOpinion;
	@TableField(exist = false)
	private String approver;
	@TableField(exist = false)
	private String approverOpinion;
	@TableField(exist = false)
	private String acceptPerson;
	@TableField(exist = false)
	private String acceptTime;
	@TableField(exist = false)
	private String approverTime;
	@TableField(exist = false)
	private String examinerTime;
	@TableField(exist = false)
	private String applyTime;
	@TableField(exist = false)
	private String productionManagerSignTime;
	@TableField(exist = false)
	private String safeSupervisorTime;
	@TableField(exist = false)
	private String productionManager;
	@TableField(exist = false)
	private String safeSupervisor;
	@TableField(exist = false)
	private String productionManagerOpinion;
	@TableField(exist = false)
	private String safeSupervisorOpinion;
	@TableField(exist = false)
	private String acceptOpinion;
}
